﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace MegavaniaX.Messaging.Events
{
    public struct SpawnActorEvent : IMegavaniaEvent
    {
        private MegavaniaEventType _eventType;
        private string[] _listenerNames;

        public MegavaniaEventType EventType { get { return _eventType; } private set { _eventType = value; } }
        public string[] ListenerNames { get { return _listenerNames; } private set { _listenerNames = value; } }
        public String ActorType;
        public float PositionX;
        public float PositionY;
        public float VelocityX;
        public float VelocityY;
        public float AccelerationX;
        public float AccelerationY;

        public SpawnActorEvent(MegavaniaEventType type, String actorType, float posX, float posY, float velX, float velY, float accX, float accY, params string[] listenerNames)
        {
            _eventType = type;
            _listenerNames = listenerNames;
            ActorType = actorType;
            PositionX = posX;
            PositionY = posY;
            VelocityX = velX;
            VelocityY = velY;
            AccelerationX = accX;
            AccelerationY = accY;
        }
    }
}
